home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 09 - 1993 / 09.07 Jul 93 / Bedrock Example / EditText.r < prev    next >
Encoding:
Text File  |  1993-04-22  |  11.3 KB  |  415 lines  |  [TEXT/MPS ]

  1. //===================================================================================
  2. //
  3. //     File:            EditText.r
  4. //     Release Version:    $Revision$
  5. //
  6. //     COPYRIGHT 1993 SYMANTEC CORPORATION. ALL RIGHTS RESERVED. UNPUBLISHED RIGHTS
  7. //     RESERVED UNDER THE COPYRIGHT LAWS OF THE UNITED STATES. USE OF COPYRIGHT
  8. //     NOTICE IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION OR DISCLOSURE.
  9. //
  10. //     THIS SOFTWARE CONTAINS PROPRIETARY AND CONFIDENTIAL INFORMATION OF SYMANTEC
  11. //     CORPORATION. USE, DISCLOSURE, OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR
  12. //     EXPRESS WRITTEN PERMISSION OF SYMANTEC CORPORATION.
  13. //
  14. //     RESTRICTED RIGHTS LEGEND
  15. //     Use, duplication, or disclosure by the Government is subject to restrictions
  16. //     as set forth in subparagraph (c)(l)(ii) of the Rights in Technical Data and
  17. //     Computer Software clause at DFARS 252.227-7013.
  18. //     Symantec Corporation, 10201 Torre Avenue, Cupertino, CA 95014.
  19. //
  20. //===================================================================================
  21.  
  22. #ifndef EDITTEXT_H
  23. #include "EditText.h"
  24. #endif
  25.  
  26. #ifndef EDHELPID_H
  27. #include "EdHelpId.h"
  28. #endif
  29.  
  30. #ifndef BRTYPES_H
  31. #include <BRTypes.h>
  32. #endif
  33.  
  34. #ifndef BRFONT_K
  35. #include <BRFont.k>
  36. #endif
  37.  
  38.  
  39. #ifdef BR_BUILD_WIN
  40.     resource STRTABLE
  41.     BEGIN
  42.         IDS_APPTITLE,       "Bedrock Text Editor";
  43.         IDS_APPLICATION,    "EDITTEXT.EXE";
  44.         IDS_HELPMENU,       "Help";
  45.         IDS_HELPFILE,       "edhelp.hlp"; 
  46.     END
  47.     
  48.     //
  49.     //    The main menu system
  50.     //
  51.     resource bclmenu(IDS_APPLICATION)
  52.     {
  53.         BR_MenuBar
  54.         {
  55.             BR_TextMenu("&File")
  56.             {
  57.                 BR_MenuItem(cmdNew,                    "&New\tCtrl+N"),
  58.                 BR_MenuItem(cmdOpen,                "&Open ...\tCtrl+O"),
  59.                 BR_MenuItem(cmdClose,                "&Close\tCtrl+F4"),
  60.                 BR_MenuItem(cmdSave,                "&Save\tCtrl+S"),
  61.                 BR_MenuItem(cmdSaveAs,                "Save &As ...\tCtrl+A"),
  62.                 BR_MenuItem(cmdRevert,                "&Revert\tCtrl+R"),
  63.                 BR_MenuItemSeparator,
  64.                 BR_MenuItem(cmdPrint,                "&Print ...\tCtrl+P"),
  65.                 BR_MenuItem(cmdPrinterPrintSetup,    "Prin&ter Setup ..."),
  66.                 BR_MenuItemSeparator,
  67.                 BR_MenuItem(cmdQuit,                "&Quit\tCtrl+Q")
  68.             }
  69.             BR_TextMenu("&Edit")
  70.             {
  71.                 BR_MenuItem(cmdUndo,        "&Undo"),
  72.                 BR_MenuItemSeparator,
  73.                 BR_MenuItem(cmdCut,            "&Cut"),
  74.                 BR_MenuItem(cmdCopy,        "&Copy\tCtrl+Insert"),
  75.                 BR_MenuItem(cmdPaste,        "&Paste\tShift+Insert"),
  76.                 BR_MenuItemSeparator,
  77.                 BR_MenuItem(cmdClear,        "C&lear")
  78.                 BR_MenuItemSeparator,
  79.                 BR_MenuItem(cmdSelectAll,    "&Select All"),
  80.                 BR_MenuItemSeparator,
  81.                 BR_MenuItem(cmdClipboard,    "S&how Clipboard")
  82.             }
  83.             BR_TextMenu("&Search")
  84.             {
  85.                 BR_MenuItem(cmdFind,            "&Find ..."),
  86.                 BR_MenuItem(cmdFindAgain,        "Find &Again"),
  87.                 BR_MenuItem(cmdReplace,            "&Replace ..."),
  88.                 BR_MenuItem(cmdReplaceAgain,    "Replace A&gain"),
  89.                 BR_MenuItemSeparator,
  90.                 BR_MenuItem(cmdGoToLine,        "&Go to Line Number ...")
  91.             }
  92.        }
  93.     };
  94.  
  95.     resource bclmenu(IDS_WINDOWMENU)
  96.     {
  97.         BR_WindowMenu()
  98.         {
  99.             BR_MenuItem (cmdTile,        "&Tile"),
  100.             BR_MenuItem (cmdCascade,    "&Cascade"),
  101.             BR_MenuItem (cmdIcons,        "&Arrange Icons")
  102.         }
  103.     };
  104.  
  105.     resource bclmenu(IDS_HELPMENU)
  106.     {
  107.         BR_HelpMenu()
  108.         {
  109.             BR_MenuItem(cmdHelpIndex,    "&Index"),
  110.             BR_MenuItem(cmdHelpCmd,        "&Commands"),
  111.             BR_MenuItem(cmdAboutBox,    "&About ...")
  112.         }
  113.     };
  114.     
  115.     //
  116.     //    Accerator Table
  117.     //
  118.     resource ACCELTABLE IDS_APPLICATION
  119.     BEGIN
  120.         'N',            cmdNew,        BEDAT_CONTROL | BEDAT_CHAR;
  121.         'O',            cmdOpen,    BEDAT_CONTROL | BEDAT_CHAR;
  122.         'S',            cmdSave,    BEDAT_CONTROL | BEDAT_CHAR;
  123.         'A',            cmdSaveAs,    BEDAT_CONTROL | BEDAT_CHAR;
  124.         'R',            cmdRevert,    BEDAT_CONTROL | BEDAT_CHAR;
  125.         'P',            cmdPrint,    BEDAT_CONTROL | BEDAT_CHAR;
  126.         'Q',            cmdQuit,    BEDAT_CONTROL | BEDAT_CHAR;
  127.         BEDVK_F4,        cmdClose,    BEDAT_CONTROL | BEDAT_VIRTUALKEY;
  128.         BEDVK_INSERT,    cmdCopy,    BEDAT_CONTROL | BEDAT_VIRTUALKEY;
  129.         BEDVK_INSERT,    cmdPaste,    BEDAT_SHIFT   | BEDAT_VIRTUALKEY;
  130.     END
  131.     
  132.     //
  133.     //    Icons, Cursors, and Bitmaps
  134.     //
  135.     resource ICON   IDS_APPLICATION, "ed.ico";
  136.     resource CURSOR IDS_APPLICATION, "ed.cur";
  137. #endif
  138.  
  139.  
  140. #ifdef BR_BUILD_MAC
  141.     //
  142.     //    The main menu system
  143.     //
  144.     resource bclmenu(IDS_APPLICATION)
  145.     {
  146.         BR_MenuBar
  147.         {
  148.             BR_TextMenu("\024")
  149.             {
  150.                 BR_MenuItem(cmdAboutBox,    "About EditText…")
  151.             }
  152.             BR_TextMenu("File")
  153.             {
  154.                 BR_MenuItem(cmdNew,                    "New/N")
  155.                 BR_MenuItem(cmdOpen,                "Open…/O")
  156.                 BR_MenuItemSeparator
  157.                 BR_MenuItem(cmdClose,                "Close/W")
  158.                 BR_MenuItem(cmdSave,                "Save/S")
  159.                 BR_MenuItem(cmdSaveAs,                "Save As…")
  160.                 BR_MenuItem(cmdRevert,                "Revert")
  161.                 BR_MenuItemSeparator
  162.                 BR_MenuItem(cmdPrint,                "Print…/P")
  163.                 BR_MenuItem(cmdPrinterPrintSetup,    "Page Setup…")
  164.                 BR_MenuItemSeparator
  165.                 BR_MenuItem(cmdQuit,                "Quit/Q")
  166.             }
  167.             BR_TextMenu("Edit")
  168.             {
  169.                 BR_MenuItem(cmdUndo,        "Undo/Z")
  170.                 BR_MenuItemSeparator
  171.                 BR_MenuItem(cmdCut,            "Cut/X")
  172.                 BR_MenuItem(cmdCopy,        "Copy/C")
  173.                 BR_MenuItem(cmdPaste,        "Paste/V")
  174.                 BR_MenuItemSeparator
  175.                 BR_MenuItem(cmdClear,        "Clear")
  176.                 BR_MenuItemSeparator
  177.                 BR_MenuItem(cmdSelectAll,    "Select All/A")
  178.                 BR_MenuItemSeparator
  179.                 BR_MenuItem(cmdClipboard,    "Show Clipboard")
  180.             }
  181.             BR_TextMenu("Search")
  182.             {
  183.                 BR_MenuItem(cmdFind,            "Find…/F"),
  184.                 BR_MenuItem(cmdFindAgain,        "Find Again/G"),
  185.                 BR_MenuItem(cmdReplace,            "Replace…/R"),
  186.                 BR_MenuItem(cmdReplaceAgain,    "Replace Again/H"),
  187.                 BR_MenuItemSeparator,
  188.                 BR_MenuItem(cmdGoToLine,        "Go to Line Number…")
  189.             }
  190.        }
  191.     };
  192.     
  193.     resource bclmenu(IDS_WINDOWMENU)
  194.     {
  195.         BR_WindowMenu()
  196.         {
  197.             BR_MenuItem (cmdTile,        "Tile")
  198.             BR_MenuItem (cmdCascade,    "Cascade")
  199.         }
  200.     };
  201.     
  202.     resource bclmenu(IDS_HELPMENU)
  203.     {
  204.         BR_HelpMenu()
  205.         {
  206.             BR_MenuItem(cmdHelpIndex,    "Index")
  207.             BR_MenuItem(cmdHelpCmd,        "Commands")
  208.         }
  209.     };
  210.     
  211.     #pragma native begin
  212.         include $$Shell("BedObjectsFolder")"bcl.res";
  213.         include $$Shell("BedObjectsFolder")"macbcl.res";
  214.         include $$Shell("ObjApp")"EditText" 'CODE';
  215.     #pragma native end    
  216. #endif
  217.  
  218.  
  219. //
  220. //  Menu commands to help id mapping
  221. //
  222. resource bclmultilong(IDS_MENUIDTOHELPID)
  223. {
  224.     {
  225.         {cmdTile,                HELPID_WINDOW_TILE},
  226.         {cmdCascade,             HELPID_WINDOW_CASCADE},
  227.         {cmdIcons,               HELPID_WINDOW_ARRANGEICONS},
  228.         {cmdHelpIndex,           HELPID_INDEX},
  229.         {cmdPrinterPrintSetup,    HELPID_PRINTER_SETUP},
  230.         {cmdSelectAll,            HELPID_SELECT_ALL},
  231.         {cmdClipboard,             HELPID_SHOW_CLIPBOARD},    
  232.         {cmdFind,                 HELPID_FIND},    
  233.         {cmdFindAgain,            HELPID_FIND_AGAIN},    
  234.         {cmdReplace,             HELPID_REPLACE},    
  235.         {cmdReplaceAgain,        HELPID_REPLACE_AGAIN},    
  236.         {cmdGoToLine,             HELPID_GO_TO_LINE},    
  237.         {cmdAboutBox,             HELPID_ABOUT_BOX},    
  238.         {cmdNew,                 HELPID_FILE_NEW},     
  239.         {cmdOpen,                 HELPID_FILE_OPEN},    
  240.         {cmdClose,                 HELPID_FILE_CLOSE},    
  241.         {cmdSave,                 HELPID_FILE_SAVE},    
  242.         {cmdSaveAs,                 HELPID_FILE_SAVE_AS},    
  243.         {cmdRevert,                 HELPID_FILE_REVERT},    
  244.         {cmdPrint,                 HELPID_FILE_PRINT},    
  245.         {cmdQuit,                 HELPID_FILE_QUIT},    
  246.         {cmdUndo,                 HELPID_EDIT_UNDO},    
  247.         {cmdCut,                 HELPID_EDIT_CUT},        
  248.         {cmdCopy,                 HELPID_EDIT_COPY},    
  249.         {cmdPaste,                 HELPID_EDIT_PASTE},    
  250.         {cmdClear,                 HELPID_EDIT_CLEAR},    
  251.         {cmdHelpCmd,             HELPID_KEYCOMMANDS}        
  252.     }
  253. };
  254.  
  255. //
  256. // Help id to Help string mapping
  257. //
  258. resource MULTISTRING IDS_STATUSSTRINGHELP
  259. {
  260.     HELPID_NONE,                " ";
  261.     HELPID_WINDOW_TILE,         "Tile the document windows";
  262.     HELPID_WINDOW_CASCADE,      "Cascade the document windows";
  263.     HELPID_WINDOW_ARRANGEICONS, "Arrange the document window icons";
  264.     HELPID_INDEX,               "Go to the help index";
  265.     HELPID_PRINTER_SETUP,        "Printer Setup";
  266.     HELPID_SELECT_ALL,            "Select the entire text document";
  267.     HELPID_SHOW_CLIPBOARD,        "Show the Clipboard in a window";
  268.     HELPID_FIND,                "Find a string";
  269.     HELPID_FIND_AGAIN,            "Find a string again";
  270.     HELPID_REPLACE,                "Search for a string and replace it with another string";
  271.     HELPID_REPLACE_AGAIN,        "Search and replace again";
  272.     HELPID_GO_TO_LINE,            "Go to a line number in the document";
  273.     HELPID_ABOUT_BOX,            "Show the About Box for this program";
  274.     HELPID_FILE_NEW,             "Open a new file";
  275.     HELPID_FILE_OPEN,            "Open an existing file";
  276.     HELPID_FILE_CLOSE,            "Close the current file";
  277.     HELPID_FILE_SAVE,            "Save the current file";
  278.     HELPID_FILE_SAVE_AS,        "Save the current file with a certain file name";
  279.     HELPID_FILE_REVERT,            "Revert back to the previous verion";
  280.     HELPID_FILE_PRINT,            "Print the file";
  281.     HELPID_FILE_QUIT,            "Quit the program";
  282.     HELPID_EDIT_UNDO,            "Undo the last option";
  283.     HELPID_EDIT_CUT,            "Cut the current selected text and put it in the Clipboard";
  284.     HELPID_EDIT_COPY,            "Copy the current selected text to the Clipboard";
  285.     HELPID_EDIT_PASTE,            "Copy the Clipboard to the current cursor position";
  286.     HELPID_EDIT_CLEAR,            "Clear the selected text";
  287.     HELPID_KEYCOMMANDS,            "Help on Command for this editor";
  288. }
  289.     
  290. //
  291. //    Bitmap
  292. //
  293. resource BITMAP IDS_ABOUT, "edabout.bmp";
  294.  
  295. //
  296. //    Dialog box resource for finding text
  297. //
  298. resource bclview(IDV_FIND_DIALOG)
  299. {
  300.     BR_DialogBoxFont("Find",
  301.                      kHasCloseBox | kHasCaption | kModalDialog,
  302.                      20, 20, 160, 75,
  303.                      kHelvetica, 10, kBold)
  304.     {
  305.         BR_DialogPane(0)
  306.         {
  307.             BR_Text(-1, kAdornBefore, 20, 8, "Search for:"),
  308.             BR_EditField(IDT_SEARCH_TEXT, 20, 18, 120, 16),
  309.             BR_DefPushButton(cmdOk, 20, 48, 50, 15, "OK"),
  310.             BR_PushButton(cmdCancel, 90, 48, 50, 15, "Cancel")
  311.         }
  312.     }
  313. };
  314.  
  315. //
  316. // Dialog box resource for finding and replacing text
  317. //
  318. resource bclview(IDV_REPLACE_DIALOG)
  319. {
  320.     BR_DialogBoxFont("Replace",
  321.                      kHasCloseBox | kHasCaption | kModalDialog,
  322.                      20, 20, 160, 100,
  323.                      kHelvetica, 10, kBold)
  324.     {
  325.         BR_DialogPane(0)
  326.         {
  327.             BR_Text(-1, kAdornBefore, 20, 5, "Search for:"),
  328.             BR_EditField(IDT_SEARCH_TEXT, 20, 15, 120, 16),
  329.             BR_Text(-1, kAdornBefore, 20, 38, "Replace with:"),
  330.             BR_EditField(IDT_REPLACE_TEXT, 20, 48, 120, 16),
  331.             BR_DefPushButton(cmdOk, 20, 75, 50, 15, "OK"),
  332.             BR_PushButton(cmdCancel, 90, 75, 50, 15, "Cancel")
  333.         }
  334.     }
  335. };
  336.  
  337. //
  338. // Dialog box resource for going to a specific line number
  339. //
  340. resource bclview(IDV_GOTOLINE_DIALOG)
  341. {
  342.     BR_DialogBoxFont("Go To Line Number",
  343.                      kHasCloseBox | kHasCaption | kModalDialog,
  344.                      20, 20, 160, 80,
  345.                      kHelvetica, 10, kBold)
  346.     {
  347.         BR_DialogPane(0)
  348.         {
  349.             BR_Text(-1, kAdornBefore, 20, 8, "Go To Line Number:"),
  350.             BR_EditField(IDT_LINENO_TEXT, 20, 18, 120, 16),
  351.             BR_DefPushButton(cmdOk, 20, 50, 50, 15, "OK"),
  352.             BR_PushButton(cmdCancel, 90, 50, 50, 15, "Cancel")
  353.         }
  354.     }
  355. };
  356.  
  357. //
  358. // Dialog box resource used when a string cannot be found 
  359. //
  360. resource bclview(IDV_NOTFOUND_DIALOG)
  361. {
  362.     BR_DialogBoxFont("Search Status",
  363.                      kHasCloseBox | kHasCaption | kModalDialog,
  364.                      20, 20, 150, 60,
  365.                      kHelvetica, 10, kBold)
  366.     {
  367.         BR_DialogPane(0)
  368.         {
  369.             BR_Text(-1, kAdornBefore, 48, 12, "String Not Found!"),
  370.             BR_DefPushButton(cmdOk, 50, 35, 50, 15, "OK")
  371.         }
  372.     }
  373. };
  374.  
  375. //
  376. //     Dialog box resource used for About Box
  377. //
  378. resource bclview(IDV_ABOUTBOX_DIALOG)
  379. {
  380.     BR_DialogBoxFont("About",
  381.                      kHasCloseBox | kHasCaption | kModalDialog,
  382.                      220, 180, 140, 95,
  383.                      kHelvetica, 10, kBold)
  384.     {
  385.         BR_DialogPane(0)
  386.         {
  387.             BR_Text(-1, kAdornBefore, 39, 10, "Bedrock Text Editor"),
  388.             BR_Text(-1, kAdornBefore, 37, 20, "Copyright (C) 1992-3"),
  389.             BR_Text(-1, kAdornBefore, 35, 30, "Symantec Corporation"),
  390.             BR_Text(-1, kAdornBefore, 53, 45, "Written By:"),
  391.             BR_Text(-1, kAdornBefore, 27, 55, "Dale Oberg and Leon Venter"),
  392.             BR_DefPushButton(cmdOk, 45, 72, 50, 15, "OK")
  393.         }
  394.     }
  395. };
  396.  
  397. //
  398. //     Resource dialog box used to inform the user when a feature is
  399. //    is not implemented
  400. //
  401. resource bclview(IDV_NOTIMPLEMENTED_DIALOG)
  402. {
  403.     BR_DialogBoxFont("Future Enhancement",
  404.                      kHasCloseBox | kHasCaption | kModalDialog,
  405.                      220, 180, 140, 65,
  406.                      kHelvetica, 10, kBold)
  407.     {
  408.         BR_DialogPane(0)
  409.         {
  410.             BR_Text(-1, kAdornBefore, 20, 10, "This feature is not implemented."),
  411.             BR_DefPushButton(cmdOk, 45, 45, 50, 15, "OK")
  412.         }
  413.     }
  414. };
  415.